1. Field Of The Invention
The present invention pertains to an improved architecture for image processing applications. Particularly, the architecture of the present invention provides both stand-alone operation of an image processing application as well as a TWAIN-compliant interface to another image processing application (via a Dynamic Data Exchange link); and also allows extensibility for operation within various platforms (such as Windows, OS/2 and Macintosh), for interface to a full line of image input devices (such as various models of commercially available scanners), and for utilization of plug-in modules which provide new or extended image transformation functionality.
2. Description Of The Related Art
"TWAIN" is the name of an application programming interface (API), jointly developed by Eastman Kodak, Logitech, Caere, Aldus and Hewlett-Packard, which provides an industry-wide imaging standard. TWAIN has gained widespread acceptance by press, analysts, and vendor communities, and continues to grow in popularity. It is therefore desirable for software image processing applications and for hardware image input devices both to be "TWAIN-compliant".
With respect to the software side, it is necessary to frequently update current versions of TWAIN-compliant image processing applications. Several factors contribute to this need. First, the TWAIN protocol is constantly evolving. For example, whereas TWAIN was originally developed as a protocol by which image data could be scanned in by a hardware scanner, it is now also relied on as a protocol for retrieving image data stored in computer files. Second, hardware devices are increasing in complexity and providing new functionality (such as marquee scanning by which only a portion of a scanner's platen is scanned in) not envisioned when TWAIN was originally developed. Accordingly, device drivers must be added to an image processing application in order to provide support for such hardware devices. Third, end-users are continually making demands for improved or new image transformation and processing techniques by which scanned images may be manipulated and transformed. And fourth, TWAIN-compliant drivers have recently been called upon to function both in a service mode and also in a stand-alone mode in which they provide an independent user interface and corresponding image processing capabilities. Of course, there are other factors which contribute to the need for frequent updating of TWAIN-compliant image processing applications.
Conventional TWAIN-compliant device drivers cannot easily be updated to address the foregoing circumstances. This conventional software was designed from "the ground up", meaning that it was designed as an insular unit of code written to specific design requirements and to specific hardware. Therefore, while such software meets those requirements, the software is not easily extensible to meet new requirements.